QKD involves establishing a key between a sender (“Alice”) and a receiver (“Bob”) by using either single-photons or weak (e.g., 0.1 photon on average) optical signals (pulses) called “qubits” or “quantum signals” transmitted over a “quantum channel.” Unlike classical cryptography whose security depends on computational impracticality, the security of quantum cryptography is based on the quantum mechanical principle that any measurement of a quantum system in an unknown state will modify its state. As a consequence, an eavesdropper (“Eve”) that attempts to intercept or otherwise measure the exchanged qubits introduced errors that reveal her presence.
The general principles of quantum cryptography were first set forth by Bennett and Brassard in their article “Quantum Cryptography: Public key distribution and coin tossing,” Proceedings of the International Conference on Computers, Systems and Signal Processing, Bangalore, India, 1984, pp. 175-179 (IEEE, New York, 1984). Specific QKD systems are described in U.S. Pat. No. 5,307,410 to Bennett, and in the article by C. H. Bennett entitled “Quantum Cryptography Using Any Two Non-Orthogonal States”, Phys. Rev. Lett. 68 3121 (1992). The general process for performing QKD is described in the book by Bouwmeester et al., “The Physics of Quantum Information,” Springer-Verlag 2001, in Section 2.3, pages 27-33.
QKD systems require synchronization and timing so that the quantum signals sent from one QKD station to the other are properly detected. In particular, the various active elements in the QKD stations, such as the modulators and single-photon detectors (SPDs), are gated to the expected arrival time of the quantum signal. An example QKD system with a synchronization and timing system is described in U.S. Pre-Grant Patent Application Publication Serial No. 2006/0018475, entitled “QKD systems with robust timing” (“the '475 application”), which Application is incorporated by reference herein.
In the QKD system of the '475 Application, quantum signals are received (detected), stored and processed in sets called “frames.” This detection, storage and processing requires the coordinated operation of the optics and electronics layers of the QKD system. Frames of qubits are stored in memory buffers sized to each frame, e.g., 8192 qubits per frame. Each qubit memory location M1, M2, . . . M8192 in the frame is associated with a particular quantum signal sent by Alice, e.g., QS-1, QS-2 . . . QS-8192. The frames are arranged “back-to-back” so that when one frame ends another frame immediately begins. This appears to be the most efficient way to receive and process the quantum signals because no quantum signals are dropped between frames. On the other hand, this is possible only in the case when the QKD apparatus is able to process all the data in timely manner.
In many cases, a QKD system employs a computer (such as a personal computer or “PC” or a workstation) running a general-purpose operating system (OS), such as Microsoft WINDOWS XP, DOS, UNIX or Linux, as opposed to a real-time OS, such as those used in certain applications such as navigation systems and the like that require immediate processing of data. Unfortunately, while it is generally more convenient and less expensive to implement a general purpose OS than a real-time OS, the former does not guarantee real-time signal processing without disruption and the possible loss of important data.